home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / prog_bas / t2win_32.zip / _BIGNUM.FRM < prev    next >
Text File  |  1996-05-14  |  10KB  |  349 lines

  1. VERSION 4.00
  2. Begin VB.Form frmBigNumber 
  3.    BorderStyle     =   4  'Fixed ToolWindow
  4.    Caption         =   "Big Number"
  5.    ClientHeight    =   4170
  6.    ClientLeft      =   1890
  7.    ClientTop       =   3270
  8.    ClientWidth     =   7485
  9.    Height          =   4575
  10.    Left            =   1830
  11.    MaxButton       =   0   'False
  12.    MDIChild        =   -1  'True
  13.    ScaleHeight     =   4170
  14.    ScaleWidth      =   7485
  15.    ShowInTaskbar   =   0   'False
  16.    Top             =   2925
  17.    Width           =   7605
  18.    Begin Threed.SSPanel SSPanel1 
  19.       Align           =   1  'Align Top
  20.       Height          =   465
  21.       Left            =   0
  22.       TabIndex        =   0
  23.       Top             =   0
  24.       Width           =   7485
  25.       _Version        =   65536
  26.       _ExtentX        =   13203
  27.       _ExtentY        =   820
  28.       _StockProps     =   15
  29.       ForeColor       =   -2147483640
  30.       BackColor       =   12632256
  31.       Begin VB.ComboBox cmb_Function 
  32.          Height          =   315
  33.          Left            =   1440
  34.          TabIndex        =   1
  35.          Top             =   90
  36.          Width           =   5415
  37.       End
  38.       Begin Threed.SSCommand SSCommand1 
  39.          Default         =   -1  'True
  40.          Height          =   285
  41.          Left            =   6930
  42.          TabIndex        =   4
  43.          Top             =   90
  44.          Width           =   465
  45.          _Version        =   65536
  46.          _ExtentX        =   820
  47.          _ExtentY        =   503
  48.          _StockProps     =   78
  49.          Caption         =   "&Go"
  50.          BevelWidth      =   1
  51.          Outline         =   0   'False
  52.       End
  53.       Begin VB.Label Label1 
  54.          Caption         =   "&Select a function"
  55.          Height          =   255
  56.          Left            =   90
  57.          TabIndex        =   2
  58.          Top             =   120
  59.          Width           =   1275
  60.       End
  61.    End
  62.    Begin VB.Label lbl_Result 
  63.       Appearance      =   0  'Flat
  64.       BackColor       =   &H80000005&
  65.       BackStyle       =   0  'Transparent
  66.       ForeColor       =   &H80000008&
  67.       Height          =   3435
  68.       Left            =   90
  69.       TabIndex        =   3
  70.       Top             =   630
  71.       Width           =   7305
  72.    End
  73. End
  74. Attribute VB_Name = "frmBigNumber"
  75. Attribute VB_Creatable = False
  76. Attribute VB_Exposed = False
  77. Option Explicit
  78. Option Base 1
  79.  
  80. Private Const Iteration = 250
  81.  
  82. Dim TimerStartOk     As Integer
  83. Dim TimerCloseOk     As Integer
  84.  
  85. Dim TimerHandle      As Integer
  86. Dim TimerValue       As Long
  87.  
  88. Private Sub cmb_Function_Click()
  89.    
  90.    lbl_Result = ""
  91.    
  92.    DoEvents
  93.    
  94.    Select Case cmb_Function.ListIndex
  95.       Case 0
  96.          Call TestBigAdd
  97.       Case 1
  98.          Call TestBigDiv
  99.       Case 2
  100.          Call TestBigMul
  101.       Case 3
  102.          Call TestBigSub
  103.    End Select
  104.  
  105. End Sub
  106.  
  107.  
  108. Private Sub Form_Activate()
  109.  
  110.    mdiT2W.Label2.Caption = cInsertBlocks(mdiT2W.Label2.Tag, "" & Iteration)
  111.  
  112. End Sub
  113.  
  114. Private Sub Form_Load()
  115.  
  116.    Call sub_Load_Combo(cmb_Function, "c:\tmp\_bignum.t2w")
  117.    
  118. End Sub
  119.  
  120.  
  121.  
  122.  
  123. Private Sub SSCommand1_Click()
  124.    
  125.    Call cmb_Function_Click
  126.    
  127. End Sub
  128.  
  129.  
  130.  
  131.  
  132. Private Sub TestBigAdd()
  133.    
  134.    Dim strResult        As String
  135.    Dim strDisplay       As String
  136.    
  137.    Dim i                As Integer
  138.    
  139.    Dim m1               As Double
  140.    Dim m2               As Double
  141.    
  142.    Dim strM1            As String
  143.    Dim strM2            As String
  144.    
  145.    strResult = ""
  146.    strDisplay = ""
  147.    
  148.    Randomize Timer
  149.    
  150.    m1 = 123456789012345#
  151.    m2 = 987654321098765#
  152.    
  153.    strM1 = LTrim$(Str$(m1))
  154.    strM2 = LTrim$(Str$(m2))
  155.    
  156.    strDisplay = strDisplay & "Double     : Add '" & m1 & "' and '" & m2 & "' is '" & (m1 + m2) & "'" & vbCr
  157.    strDisplay = strDisplay & "Big Double : Add '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigAdd(cMKN(strM1), cMKN(strM2)), 0) & "'" & vbCr
  158.    strDisplay = strDisplay & "Big Num    : Add '" & m1 & "' and '" & m2 & "' is '" & cBigNum(strM1, BIG_ADD, strM2) & "'" & vbCr & vbCr
  159.    
  160.    m1 = 543210987654321#
  161.    m2 = 567890123456789#
  162.    
  163.    strM1 = LTrim$(Str$(m1))
  164.    strM2 = LTrim$(Str$(m2))
  165.    
  166.    strDisplay = strDisplay & "Double     : Add '" & m1 & "' and '" & m2 & "' is '" & (m1 + m2) & "'" & vbCr
  167.    strDisplay = strDisplay & "Big Double : Add '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigAdd(cMKN(strM1), cMKN(strM2)), 0) & "'" & vbCr
  168.    strDisplay = strDisplay & "Big Num    : Add '" & m1 & "' and '" & m2 & "' is '" & cBigNum(strM1, BIG_ADD, strM2) & "'" & vbCr & vbCr
  169.    
  170.    lbl_Result = strDisplay
  171.  
  172.    'time the function
  173.  
  174.    TimerHandle = cTimerOpen()
  175.    TimerStartOk = cTimerStart(TimerHandle)
  176.    
  177.    For i = 1 To Iteration
  178.       strResult = cBigAdd(cMKN(strM1), cMKN(strM2))
  179.    Next i
  180.    
  181.    mdiT2W.pnl_Timer = cTimerRead(TimerHandle)
  182.    
  183.    TimerCloseOk = cTimerClose(TimerHandle)
  184.  
  185. End Sub
  186.  
  187. Private Sub TestBigSub()
  188.    
  189.    Dim strResult        As String
  190.    Dim strDisplay       As String
  191.    
  192.    Dim i                As Integer
  193.    
  194.    Dim m1               As Double
  195.    Dim m2               As Double
  196.    
  197.    Dim strM1            As String
  198.    Dim strM2            As String
  199.    
  200.    strResult = ""
  201.    strDisplay = ""
  202.    
  203.    Randomize Timer
  204.    
  205.    m1 = 123456789012345#
  206.    m2 = 987654321098765#
  207.    
  208.    strM1 = LTrim$(Str$(m1))
  209.    strM2 = LTrim$(Str$(m2))
  210.    
  211.    strDisplay = strDisplay & "Double     : Sub '" & m1 & "' and '" & m2 & "' is '" & (m1 - m2) & "'" & vbCr
  212.    strDisplay = strDisplay & "Big Double : Sub '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigSub(cMKN(strM1), cMKN(strM2)), 0) & "'" & vbCr
  213.    strDisplay = strDisplay & "Big Num    : Sub '" & m1 & "' and '" & m2 & "' is '" & cBigNum(strM1, BIG_SUB, strM2) & "'" & vbCr & vbCr
  214.    
  215.    m1 = 543210987654321#
  216.    m2 = 567890123456789#
  217.    
  218.    strM1 = LTrim$(Str$(m1))
  219.    strM2 = LTrim$(Str$(m2))
  220.    
  221.    strDisplay = strDisplay & "Double     : Sub '" & m1 & "' and '" & m2 & "' is '" & (m1 - m2) & "'" & vbCr
  222.    strDisplay = strDisplay & "Big Double : Sub '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigSub(cMKN(strM1), cMKN(strM2)), 0) & "'" & vbCr
  223.    strDisplay = strDisplay & "Big Num    : Sub '" & m1 & "' and '" & m2 & "' is '" & cBigNum(strM1, BIG_SUB, strM2) & "'" & vbCr & vbCr
  224.    
  225.    lbl_Result = strDisplay
  226.  
  227.    'time the function
  228.  
  229.    TimerHandle = cTimerOpen()
  230.    TimerStartOk = cTimerStart(TimerHandle)
  231.    
  232.    For i = 1 To Iteration
  233.       strResult = cBigSub(cMKN(strM1), cMKN(strM2))
  234.    Next i
  235.    
  236.    mdiT2W.pnl_Timer = cTimerRead(TimerHandle)
  237.    
  238.    TimerCloseOk = cTimerClose(TimerHandle)
  239.  
  240. End Sub
  241.  
  242. Private Sub TestBigDiv()
  243.    
  244.    Dim strResult        As String
  245.    Dim strDisplay       As String
  246.    
  247.    Dim i                As Integer
  248.    
  249.    Dim m1               As Double
  250.    Dim m2               As Double
  251.    
  252.    Dim strM1            As String
  253.    Dim strM2            As String
  254.    
  255.    strResult = ""
  256.    strDisplay = ""
  257.    
  258.    Randomize Timer
  259.    
  260.    m1 = 123456789012345#
  261.    m2 = 987654321098765#
  262.    
  263.    strM1 = LTrim$(Str$(m1))
  264.    strM2 = LTrim$(Str$(m2))
  265.    
  266.    strDisplay = strDisplay & "Double     : Div '" & m1 & "' and '" & m2 & "' is '" & (m1 / m2) & "'" & vbCr
  267.    strDisplay = strDisplay & "Big Double : Div '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigDiv(cMKN(strM1), cMKN(strM2)), 0) & "'" & vbCr & vbCr
  268.    
  269.    m1 = 543210987654321#
  270.    m2 = 567890123456789#
  271.    
  272.    strM1 = LTrim$(Str$(m1))
  273.    strM2 = LTrim$(Str$(m2))
  274.    
  275.    strDisplay = strDisplay & "Double     : Div '" & m1 & "' and '" & m2 & "' is '" & (m1 / m2) & "'" & vbCr
  276.    strDisplay = strDisplay & "Big Double : Div '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigDiv(cMKN(strM1), cMKN(strM2)), 0) & "'" & vbCr & vbCr
  277.    
  278.    lbl_Result = strDisplay
  279.  
  280.    'time the function
  281.  
  282.    TimerHandle = cTimerOpen()
  283.    TimerStartOk = cTimerStart(TimerHandle)
  284.    
  285.    For i = 1 To Iteration
  286.       strResult = cBigDiv(cMKN(strM1), cMKN(strM2))
  287.    Next i
  288.    
  289.    mdiT2W.pnl_Timer = cTimerRead(TimerHandle)
  290.    
  291.    TimerCloseOk = cTimerClose(TimerHandle)
  292.  
  293. End Sub
  294.  
  295. Private Sub TestBigMul()
  296.    
  297.    Dim strResult        As String
  298.    Dim strDisplay       As String
  299.    
  300.    Dim i                As Integer
  301.    
  302.    Dim m1               As Double
  303.    Dim m2               As Double
  304.    
  305.    Dim strM1            As String
  306.    Dim strM2            As String
  307.    
  308.    strResult = ""
  309.    strDisplay = ""
  310.    
  311.    Randomize Timer
  312.    
  313.    m1 = 123456789012345#
  314.    m2 = 987654321098765#
  315.    
  316.    strM1 = LTrim$(Str$(m1))
  317.    strM2 = LTrim$(Str$(m2))
  318.    
  319.    strDisplay = strDisplay & "Double     : Mul '" & m1 & "' and '" & m2 & "' is '" & (m1 * m2) & "'" & vbCr
  320.    strDisplay = strDisplay & "Big Double : Mul '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigMul(cMKN(strM1), cMKN(strM2)), 0) & "'" & vbCr
  321.    strDisplay = strDisplay & "Big Num    : Mul '" & m1 & "' and '" & m2 & "' is '" & cBigNum(strM1, BIG_MUL, strM2) & "'" & vbCr & vbCr
  322.    
  323.    m1 = 543210987654321#
  324.    m2 = 567890123456789#
  325.    
  326.    strM1 = LTrim$(Str$(m1))
  327.    strM2 = LTrim$(Str$(m2))
  328.    
  329.    strDisplay = strDisplay & "Double     : Mul '" & m1 & "' and '" & m2 & "' is '" & (m1 * m2) & "'" & vbCr
  330.    strDisplay = strDisplay & "Big Double : Mul '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigMul(cMKN(strM1), cMKN(strM2)), 0) & "'" & vbCr
  331.    strDisplay = strDisplay & "Big Num    : Mul '" & m1 & "' and '" & m2 & "' is '" & cBigNum(strM1, BIG_MUL, strM2) & "'" & vbCr & vbCr
  332.    
  333.    lbl_Result = strDisplay
  334.  
  335.    'time the function
  336.  
  337.    TimerHandle = cTimerOpen()
  338.    TimerStartOk = cTimerStart(TimerHandle)
  339.    
  340.    For i = 1 To Iteration
  341.       strResult = cBigMul(cMKN(strM1), cMKN(strM2))
  342.    Next i
  343.    
  344.    mdiT2W.pnl_Timer = cTimerRead(TimerHandle)
  345.    
  346.    TimerCloseOk = cTimerClose(TimerHandle)
  347.  
  348. End Sub
  349.